package com.oa.pm.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.joneying.common.web.response.Resp;
import com.oa.core.PageResult;
import com.oa.core.exception.BusinessException;
import com.oa.core.exception.DataIsEmptyException;
import com.oa.pm.entity.PostponedLeaveApply;
import com.oa.pm.vo.PostponedLeaveApplyListVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IPostponedLeaveApplyService extends IService<PostponedLeaveApply> {

    PageResult<PostponedLeaveApplyListVO> findPostponedLeaveApplyList(Integer pageNum, Integer pageSize, @Param("userId") String userId, @Param("name") String name);

    PostponedLeaveApplyListVO findPostponedLeaveApplyDetails(String id);

    Resp add(String userId, String remark) throws BusinessException, DataIsEmptyException;

    Resp audit(String userId, String id, Integer status) throws DataIsEmptyException, BusinessException;
}
